package com.example.pets.model.datasource;

import androidx.lifecycle.LiveData;

import com.example.pets.model.entities.Clue;


import java.util.List;

public interface ClueDataSource {

    /**
     * 根据 clid 获取单个线索，支持实时监听
     */
    LiveData<Clue> getClueById(String clid);

    /**
     * 添加一个线索
     */
    LiveData<Boolean> addClue(Clue clue);

    /**
     * 更新线索
     */
    LiveData<Boolean> updateClue(String clid, Clue clue);

    /**
     * 删除线索
     */
    LiveData<Boolean> deleteClue(String clid);

    /**
     * 获取某个丢失物品关联的所有线索，支持实时监听
     */
    LiveData<List<Clue>> getCluesByLost( );

    /**
     * 获取某个用户提供的所有线索，支持实时监听
     */
    LiveData<List<Clue>> getCluesByProvider( );

    /**
     * 获取所有线索，支持实时监听
     */
    LiveData<List<Clue>> getAllClues();

}
